﻿// 实例化对象
var nativeShare = new NativeShare()
// 普通浏览器下调用浏览器自带分享api
function call (command) {
  try {
    // 原生调用
    nativeShare.call(command)
  } catch (err) {
    // 如果不支持，做降级处理显示自己定义的分享弹层
    $('.mask').fadeIn(1)
  }
}
// 微信内置下配置权限并自定义分享内容
function wxConfig () {
  // 配置微信公众号验证权限
  $.ajax({
    type: 'post',
    url: '', // 后台提供接口，用于获取appId 签名等
    data: {
      url: window.location.href // 地址需要是当前页的url,此处参数主要用于提供后台获取正确的签名
    },
    success: function (data) {
      // 获取数据并配置全权限
      wx.config({
        debug: false,
        appId: data.appId, // 企业号的唯一标识
        timestamp: data.timestamp, // 签名的时间戳
        nonceStr: data.nonceStr, // 生成签名的随机串
        signature: data.signature, // 签名
        jsApiList: [
          'onMenuShareTimeline', // 自定义分享列表  朋友圈
          'onMenuShareAppMessage', // 微信好友
          'onMenuShareQQ', // QQ
          'onMenuShareQZone' // 空间
        ]
      })
    },
    error: function () {
      alert('系统错误')
    }
  })
  // 自定义分享内容
  window.share_config = {
    'share': {
      'imgUrl': 'http://scsj-v2-bos.bj.bcebos.com//pic/2017-11/26/22a04dc8ecb34c3eb0cf93833e8a46a6.jpg', // 这是自定义分享1的图片
      'desc': '这里是分享的内容',
      'title': '这里是分享的标题',
      'link': 'http://www.yongbo.xin', // 这里是分享的url
      'success': function () {
        $('.wx_cover').fadeOut(1)
        alert('已分享')
      },
      'cancel': function () {
        $('.wx_cover').fadeOut(1)
        alert('已取消分享')
      }
    }
  }
  wx.ready(function () {
    wx.onMenuShareAppMessage(share_config.share); // 分享给好友
    wx.onMenuShareTimeline(share_config.share); // 分享到朋友圈
    wx.onMenuShareQQ(share_config.share); // 分享给手机QQ
    wx.onMenuShareQZone(share_config.share) // 分享到空间
  })
}
// QQ内置中自定义分享内容
function qqConfig () {
  // 自定义分享内容
  setShareInfo({
    title: '这里是分享的标题', // 分享标题
    summary: '这是里分享的内容', // 分享内容
    pic: 'http://scsj-v2-bos.bj.bcebos.com//pic/2017-11/26/22a04dc8ecb34c3eb0cf93833e8a46a6.jpg', // 分享的图标
    url: 'http://www.yongbo.xin' // 分享的url
  })
}

$(function () {
  // 定义ua变量
  var ua = navigator.userAgent
  // android终端正则
  var isAndroid = ua.indexOf('Android') > -1 || ua.indexOf('Adr') > -1
  // ios终端正则
  var isIos = !!ua.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)
  
  // 判断浏览器类型并自定义分享内容
  if (/MicroMessenger/.test(ua)) {
    // 微信内置
    console.log('微信中')
    wxConfig()
  } else if ((isAndroid && /Mobile\sMQQBrowser/.test(ua)) || (isIos && / QQ/i.test(ua))) {
    // 手机QQ内置浏览器中
    console.log('QQ客户端中')
    qqConfig()
  } else if (/AlipayClient/.test(ua)) {
    // 支付宝 
    console.log('支付宝中')
  } else {
    // 普通浏览器中点击显示分享列表
    console.log('普通浏览器中')
    $('.wx').attr('href', "http://qr.liantu.com/api.php?text=http://www.yongbo.xin")
    var shareData = {
      title: '这是分享的标题',
      desc: '这是分享的内容',
      link: 'http://www.yongbo.xin',
      icon: 'http://scsj-v2-bos.bj.bcebos.com//pic/2017-11/26/22a04dc8ecb34c3eb0cf93833e8a46a6.jpg', // 这是分享的图片
      // 不要过于依赖以下两个回调，很多浏览器是不支持的
      success: function () {
        alert('已分享')
      },
      fail: function () {
        alert('已取消分享')
      }
    }
    nativeShare.setShareData(shareData)
  }

  // 点击分享
  $('#share').click(function () {
    if (/AlipayClient/.test(ua) || /MicroMessenger/.test(ua) || (isAndroid && /Mobile\sMQQBrowser/.test(ua)) || (isIos && / QQ/i.test(ua))) {
      // 手机QQ、微信内置浏览器中显示指示图
      $('.tip').fadeIn(1)
    } else {
      // 普通浏览器中调用浏览器自带分享Api
      call()
    }
  })
  // 微信QQ内置中点击指示图  指示图消失
  $('.tip').click(function () {
    $('.cover').fadeOut(1)
  })

  // 取消分享 自定义分享列表消失
  $('.cancelShare').click(function () {
    $('.mask').fadeOut(1)
  })
  
})
